package com.powernode.springmvc.controller;

import jakarta.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttributes;

/**
 * @Author: 曾铖坚
 * @Date: 2024/9/29 15:17
 * @Version: 1.0.0
 */
@Controller
//@SessionAttributes(value = {"x", "y"})
@SessionAttributes({"x", "y"})// 标注x和y都是存储到session域中，而不是request域
public class SessionScopeTestController {
    @RequestMapping("/testSessionServletAPI")
    public String testSessionServletAPI(HttpSession session) {
        // 执行业务逻辑
        // 向session域中存储数据
        session.setAttribute("testSessionScope", "在SpringMVC当中使用原生的Servlet API完成session域数据共享");
        // 返回逻辑视图名称（这是一种转发）
        return "ok";
    }


    @RequestMapping("/testSessionAttributes")
    public String testSessionAttributes(ModelMap modelMap) {
        // 处理业务逻辑
        // 向session域中存储数据
        modelMap.addAttribute("x", "我是埃克斯");
        modelMap.addAttribute("y", "我是歪");
        // 返回逻辑视图名称
        return "ok";
    }
}
